package controleBD;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import modelo.EventosDoUsuario;

public class JoinQueryDAO {

	Connection c = null;
    Statement stmt = null;
    
	
	public ArrayList<EventosDoUsuario> retornaEventos(String usuario, String evento){
	    	
	    	ArrayList<EventosDoUsuario> lista = new ArrayList<EventosDoUsuario>();
	    	
	    	
	    	try {
				Class.forName("org.sqlite.JDBC");
				c = DriverManager.getConnection("jdbc:sqlite:C:\\registro.db");
				c.setAutoCommit(false);
		    
				stmt = c.createStatement();
				
				ResultSet rs;
				
				if (evento==null){
					rs = stmt.executeQuery( 	"SELECT VALOR, HORA, DATA " +
														"FROM EVENTOS, USUARIOEVENTO " +
														"WHERE EVENTOS.VALOR >= USUARIOEVENTO.MIN AND EVENTOS.VALOR <= USUARIOEVENTO.MAX AND USUARIO='"+ usuario +"'");
				}else{
					rs = stmt.executeQuery( 	"SELECT VALOR, HORA, DATA " +
														"FROM EVENTOS, USUARIOEVENTO " +
														"WHERE EVENTOS.VALOR >= USUARIOEVENTO.MIN AND EVENTOS.VALOR <= USUARIOEVENTO.MAX AND USUARIO='"+ usuario +"' AND EVENTO='" + evento +"'");
				}
				
			    while ( rs.next() ) {
			         
			    	String  valor = rs.getString("VALOR");
			        String  hora =  rs.getString("HORA");
			        String  data =  rs.getString("DATA");
 
			        lista.add(new EventosDoUsuario(valor, hora, data));
			         
			    }
			      
			
	
				c.commit();
				stmt.close();
				c.commit();
				c.close();
				
				
	    	} catch (Exception e) {
				e.printStackTrace();
			}
	    	  
	    	return lista;
	    }
	
	
}
